/*
 * Copyright © 2004-2014 chenYuan. All rights reserved.
 * @Website:wwww.jspx.net
 * @Mail:39793751@qq.com
 * @author: chenYuan , 陈原
 * @License: Jspx.net Framework Code is open source (LGPL)，Jspx.net Framework 使用LGPL 开源授权协议发布。
 * @jvm:jdk1.6+  x86/amd64
 *
 */
package com.jspx.txweb.table;

import com.jspx.boot.sign.YesNoType;
import com.jspx.json.NotExpose;
import com.jspx.sober.annotation.Column;
import com.jspx.sober.annotation.Id;
import com.jspx.sober.annotation.Table;
import com.jspx.sober.table.OperateTable;
import com.jspx.utils.DateUtil;
import com.jspx.utils.StringUtil;
import java.util.Date;

/**
 * Created by yuan on 14-3-11.
 * 用户详细信息,作为求职，档案记录等软件中使用
 */
@Table(name = "jspx_member_details", caption = "默认用户信息", cache = true,cacheName="memberDetailsCache")
public class MemberDetails extends OperateTable {
    @Id(auto = false)
    @Column(caption="用户ID",notNull = true)
    private long id = 0;

    @Column(caption = "姓名", dataType="isLengthBetween(2,100)",length = 100)
    private String name = StringUtil.empty;

    @NotExpose
    @Column(caption = "拼音", length = 100, hidden=true, notNull = true)
    private String spelling = StringUtil.empty;

    @Column(caption = "性别", option = "男;女;保密", length = 4, notNull = true)
    private String sex = "保密";

    @Column(caption = "民族", dataType="isLengthBetween(0,20)",length = 20)
    private String nation = "汉族";

    @Column(caption = "毕业时间")
    private Date graduationDate = DateUtil.empty;

    @Column(caption = "专业", dataType="isLengthBetween(0,50)",length = 50)
    private String professional = StringUtil.empty;

    @Column(caption = "学校", dataType="isLengthBetween(0,80)",length = 80)
    private String school = StringUtil.empty;

    @Column(caption = "学历", dataType="isLengthBetween(2,50)",length = 50,notNull = false)
    private String education  = StringUtil.empty;

    @Column(caption = "婚姻状况", dataType="isLengthBetween(2,50)",length = 50,notNull = false)
    private String maritalStatus  = StringUtil.empty;

    @Column(caption = "政治面貌", dataType="isLengthBetween(2,100)",length = 100,notNull = false)
    private String political  = StringUtil.empty;

    @Column(caption = "兴趣爱好", dataType="isLengthBetween(2,250)",length = 250,notNull = false)
    private String interest = StringUtil.empty;

    @Column(caption = "特长", dataType="isLengthBetween(2,250)",length = 250,notNull = false)
    private String forte = StringUtil.empty;

    //希望
    @Column(caption = "薪资水平")
    private int salary = 0;

    @Column(caption = "入职日期")
    private Date positionDate = new Date();

    @Column(caption = "相片", dataType="isLengthBetween(2,200)",length = 200)
    private String images = StringUtil.empty;

    @Column(caption = "个人简历", length =2000, dataType = "isLengthBetween(0,2000)")
    private String content = StringUtil.empty;

    @Column(caption = "证件类型", dataType="isLengthBetween(0,20)",length = 20, notNull = true)
    private String cardType = "居民身份证";

    @Column(caption = "证件号",dataType="isLengthBetween(2,30)", length = 30,notNull = false)
    private String cardNumber = StringUtil.empty;

    @Column(caption = "证件图片", dataType="isLengthBetween(0,200)",length = 200, notNull = true)
    private String cardImage =  StringUtil.empty;

    @Column(caption = "证件已验证")
    private int cardValidated = YesNoType.NO;

    @Column(caption = "家庭住址", dataType="isLengthBetween(1,250)",length = 200,notNull = false)
    private String address  = StringUtil.empty;

    @Column(caption = "户籍类别", length = 200,dataType="isLengthBetween(0,200)", notNull = false)
    private String householdType = StringUtil.empty;

    @Column(caption = "付口所在地", length = 200,dataType="isLengthBetween(0,200)", notNull = false)
    private String placeHousehold = StringUtil.empty;

    @Column(caption = "排序时间", notNull = true)
    private Date sortDate = new Date();

    @Column(caption = "附件", length = 1200, dataType="isLengthBetween(0,1200)", notNull = false)
    private String attachments = StringUtil.empty;

    @Column(caption = "备注", length = 250, notNull = true)
    private String remark = StringUtil.empty;


    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSpelling() {
        return spelling;
    }

    public void setSpelling(String spelling) {
        this.spelling = spelling;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public Date getGraduationDate() {
        return graduationDate;
    }

    public void setGraduationDate(Date graduationDate) {
        this.graduationDate = graduationDate;
    }

    public String getProfessional() {
        return professional;
    }

    public void setProfessional(String professional) {
        this.professional = professional;
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getMaritalStatus() {
        return maritalStatus;
    }

    public void setMaritalStatus(String maritalStatus) {
        this.maritalStatus = maritalStatus;
    }

    public String getPolitical() {
        return political;
    }

    public void setPolitical(String political) {
        this.political = political;
    }


    public Date getPositionDate() {
        return positionDate;
    }

    public void setPositionDate(Date positionDate) {
        this.positionDate = positionDate;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getHouseholdType() {
        return householdType;
    }

    public void setHouseholdType(String householdType) {
        this.householdType = householdType;
    }

    public String getPlaceHousehold() {
        return placeHousehold;
    }

    public void setPlaceHousehold(String placeHousehold) {
        this.placeHousehold = placeHousehold;
    }

    public Date getSortDate() {
        return sortDate;
    }

    public void setSortDate(Date sortDate) {
        this.sortDate = sortDate;
    }

    public String getAttachments() {
        return attachments;
    }

    public void setAttachments(String attachments) {
        this.attachments = attachments;
    }

    public String getInterest() {
        return interest;
    }

    public void setInterest(String interest) {
        this.interest = interest;
    }

    public String getForte() {
        return forte;
    }

    public void setForte(String forte) {
        this.forte = forte;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public int getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }

    public String getCardImage() {
        return cardImage;
    }

    public void setCardImage(String cardImage) {
        this.cardImage = cardImage;
    }

    public int getCardValidated() {
        return cardValidated;
    }

    public void setCardValidated(int cardValidated) {
        this.cardValidated = cardValidated;
    }

}